home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / extensions / nsplugin / doc / index.doc.z / index.doc (.txt)
LaTeX Document  |  2002-04-08  |  4KB  |  82 lines

  1. /****************************************************************************
  2. ** $Id:  qt/index.doc   3.0.3   edited Oct 12 12:18 $
  3. ** Index page
  4. ** Copyright (C) 1995-1997 by Trolltech AS.  All rights reserved.
  5. *****************************************************************************/
  6. #if defined(QT_DEBUG)
  7. static char ident[] = "$Id:  qt/index.doc   3.0.3   edited Oct 12 12:18 $";
  8. #endif
  9. /*! \page nsplugin.html
  10. \title Qt-based LiveConnect Plugins
  11. The Qt-based Netscape Plugin software makes it easy to write
  12. plugins
  13. such that they can be used on both Unix/Linux and Windows/95/NT,
  14. in Netscape and Internet Explorer, and any other
  15. web browser supporting the same protocol.
  16. \section1 How-to
  17.  <li>Download the
  18.     \link http://home.netscape.com/comprod/development_partners/plugin_api/index.html 
  19.     Plugin SDK from Netscape \endlink, and copy the following files from there to
  20.     <tt>$QTDIR/extensions/nsplugin/src</tt> :
  21.     <multicol cols=2>
  22.     <ul>
  23.     <li>common/npwin.cpp
  24.     <li>common/npunix.c
  25.     <li>include/npapi.h
  26.     <li>include/npupp.h
  27.     <li>include/jri.h
  28.     <li>include/jri_md.h
  29.     <li>include/jritypes.h
  30.     </ul>
  31.     </multicol>
  32.  <li>Build the Netscape Plugin extension library, found in the
  33.     <tt>extensions/nsplugin/src</tt> directory of your Qt distribution.
  34.     This produces a static library to be linked with your plugin code.
  35.  <li>Read the \link annotated.html plugin class documentation \endlink, and
  36.     examine the \link nsplugin-examples.html example plugins \endlink.
  37.  <li>Do most of your development as a stand-alone Qt application - debugging
  38.     Netscape Plugins is cumbersome.  You may want to use <tt>signal(2)</tt>
  39.     in your plugin to enable core-dumps if your browser disables them.
  40.  <li>Note the platform-specific build steps below.
  41.  <li>Read about the raw plugin interface
  42.     \link http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm 
  43.     in Netscape's handbook. \endlink
  44.  <li>If files viewed by a plugin are provided by an HTTP server
  45.     (using a <tt>http://...</tt> URL) then
  46.     the server must be configured to send the correct MIME type
  47.     for the file, such as by editing the <tt>mime.types</tt> file
  48.     of Apache.  If the files are viewed via a <tt>file://...</tt>
  49.     URL, then the browser will use the filename extension to decide
  50.     the file type (and hence the plugin to load) - the user may need
  51.     to set the filename extension in the Helpers or Applications
  52.     section of their browser preferences.
  53. </ol>
  54. We are working on streamlining the build process for Qt-based Netscape Plugins.    
  55. \section2 Building under X11
  56.  <li>The Makefiles in the examples are appropriate for UNIX/X11.
  57.  <li>The user must install the resulting Shared Object in the Plugins
  58.     directory of the browser.
  59. </ul>
  60. \section2 Building under Windows
  61.  <li>Qt needs to be built as a static library when building Netscape plugins, we are
  62.      looking into the problem of making it work with Qt as a dynamic library.
  63.  <li>Plugins must be named <tt>np</tt><i>name</i><tt>.dll</tt>,
  64.      or the browser will ignore them.
  65.  <li>The link step must include:
  66.     <ul>
  67.     <li><tt>/def:</tt><i>name</i><tt>.def</tt>
  68.     <li><tt>/dll</tt>
  69.     <li>a compiled resource file defining the
  70.         file/MIME types accepted by the plugin.
  71.     </ul>
  72.  <li>The user must install the resulting DLL in the Plugins directory
  73.     of the browser.
  74. </ul>
  75. \section1 Known Bugs
  76. The Qt-based LiveConnect Plugin binding code has a number of
  77. minor bugs, but is sufficiently stable for most production applications.
  78.  <li> MSIE 4.0 support is poor.
  79.  <li> Crashes on X11 if window is closed via window manager.
  80.  <li> Keyboard problems on Windows.
  81. </ul>
  82.